cmake_minimum_required(VERSION 3.1.0)

project(EasyCodeReaderLive_FakeCamera_Qt VERSION 1.0.0 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
ADD_DEFINITIONS(-DQT_NO_KEYWORDS)
if(CMAKE_VERSION VERSION_LESS "3.7.0")
  set(CMAKE_INCLUDE_CURRENT_DIR ON)
endif()

if(CMAKE_CXX_COMPILER_IS_GNUCXX)
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive")
endif()

# include libraries

set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
link_libraries(Threads::Threads)

set (OPEN_EVISION_CPP_INCLUDE_WIN "C:/Program Files/Euresys/Open eVision 26.02/Include")
set (OPEN_EVISION_CPP_INCLUDE_LINUX "/opt/euresys/Open_eVision_26_02/include")

include_directories(${OPEN_EVISION_CPP_INCLUDE_LINUX})
link_libraries(dl)

find_package(Qt5 COMPONENTS Widgets)
message(STATUS "QT5 library version ${QT5_VERSION} used")

# define executable

add_executable(EasyCodeReaderLive_FakeCamera_Qt
    EasyCodeReaderLiveMain.cpp
    ProcessingHandler.cpp
    CameraWidget.cpp
    CameraHandler.cpp
    CameraHandler.h
    ProcessingHandler.h
    CameraWidget.h
    QtDrawAdapter.h
)

target_compile_definitions(EasyCodeReaderLive_FakeCamera_Qt PRIVATE USE_FAKE_CAMERA USE_QT)
target_link_libraries(EasyCodeReaderLive_FakeCamera_Qt PRIVATE Qt5::Widgets)
